package com.shawn.model.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 通用错误返回结果
 * @Builder 注解的作用主要是用来生成对象，并且可以为对象链式赋值。
 * @author lenovo
 * @date 2022/10/26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ErrorResult {
    private String errCode = "999999";
    private String errMessage;

    public static ErrorResult error() {
        return ErrorResult.builder().errCode("999999").errMessage("系统异常稍后再试").build();
    }

    public static ErrorResult fail() {
        return ErrorResult.builder().errCode("000001").errMessage("发送验证码失败").build();
    }

    public static ErrorResult loginError() {
        return ErrorResult.builder().errCode("000002").errMessage("验证码失效").build();
    }

    public static ErrorResult faceError() {
        return ErrorResult.builder().errCode("000003").errMessage("图片非人像，请重新上传!").build();
    }

    public static ErrorResult mobileError() {
        return ErrorResult.builder().errCode("000004").errMessage("手机号码已注册").build();
    }

    public static ErrorResult contentError() {
        return ErrorResult.builder().errCode("000005").errMessage("动态内容为空").build();
    }

    public static ErrorResult likeError() {
        return ErrorResult.builder().errCode("000006").errMessage("用户已点赞").build();
    }

    public static ErrorResult disLikeError() {
        return ErrorResult.builder().errCode("000007").errMessage("用户未点赞").build();
    }

    public static ErrorResult loveError() {
        return ErrorResult.builder().errCode("000008").errMessage("用户已喜欢").build();
    }

    public static ErrorResult disLoveError() {
        return ErrorResult.builder().errCode("000009").errMessage("用户未喜欢").build();
    }

    public static ErrorResult parseError(){
        return ErrorResult.builder().errCode("000010").errMessage("格式解析异常").build();
    }
    public static ErrorResult ioError(){
        return ErrorResult.builder().errCode("000011").errMessage("输出输出流异常").build();
    }

    public static ErrorResult osseError() {
        return ErrorResult.builder().errCode("000012").errMessage("文件上传客户端异常!").build();
    }

    public static ErrorResult clientError() {
        return ErrorResult.builder().errCode("000013").errMessage("客户端异常").build();
    }

    public static ErrorResult teaError() {
        return ErrorResult.builder().errCode("000014").errMessage("验证码生成异常!").build();
    }
    public static ErrorResult questionError() {
        return ErrorResult.builder().errCode("000015").errMessage("你喜欢编程吗?").build();
    }
    public static ErrorResult friendError() {
        return ErrorResult.builder().errCode("000016").errMessage("添加朋友失败!").build();
    }

    public static ErrorResult mapLoadError() {
        return ErrorResult.builder().errCode("000017").errMessage("地图资源上传失败!").build();
    }

    public static ErrorResult videoEmptyError() {
        return ErrorResult.builder().errCode("000018").errMessage("上传视频文件为空!").build();
    }
    public static ErrorResult focusError() {
        return ErrorResult.builder().errCode("000019").errMessage("关注用户失败!").build();
    }
    public static ErrorResult cancelFocusError() {
        return ErrorResult.builder().errCode("000020").errMessage("取消关注失败!").build();
    }
    public static ErrorResult codeError() {
        return ErrorResult.builder().errCode("000021").errMessage("后端验证码错误!").build();
    }
    public static ErrorResult notFondAdminError() {
        return ErrorResult.builder().errCode("000022").errMessage("该管理员不存在!").build();
    }

}
